Automated data storage libraries provide a means for storing large quantities of data on data storage media that are not permanently mounted in data storage drives, and that are stored in a readily available form on storage shelves. One or more robot accessors retrieve selected data storage media from storage shelves and provide them to data storage drives. Typically, data stored on data storage media of an automated data storage library, once requested, is needed quickly. Thus, it is desirable that an automated data storage library be maintained in an operational condition as much as possible, such as the well known “24×7×365” availability.
Automated data storage libraries are typically operated by one or more processors, such as a central controller which interfaces with the host systems through an external interface and provides a constantly updated inventory of the locations of the data storage media within the library, and a robot control system which identifies precise locations of the data storage drives and the storage shelves and calculates the best operation of the robot accessor(s) to efficiently transport data storage media between the various storage shelves and data storage drives. The processors are run by program code, often called “firmware”, since the code is related to the hardware constituting the library. Often, the firmware requires updating, for example, if a new or updated function or apparatus is provided to the library.
In order to maintain the customer expectations of the 24×7×365 availability, library firmware updates are expected to create minimum disruption to the normal operation of the library. One approach is to update the firmware in the background, as described in co-pending U.S. patent application Ser. No. 10/083,784 filed Feb. 23, 2002 entitled “Background Code Update For Embedded Systems”, incorporated herein by reference. The library firmware is updated while performing normal operations. A problem with this approach is that activation of the new firmware disrupts normal library operation. This is because long inventory times may cause host commands to time out. Co-pending U.S. patent application Ser. No. 10/113,670 filed Apr. 2, 2002 entitled “Transparent Code Update In An Automated Data Storage Library”, incorporated herein by reference, describes a method for reducing the disruption when activating the new firmware image. Prior to an update, the inventory is saved in nonvolatile memory or the operation is performed on an assumption that the inventory didn't change. Saving the inventory carries a risk that a door may have been opened and media locations changed during the reset and activation of the new firmware. Alternatively, assuming that the inventory hasn't changed may be a misplaced trust and carries the same risk. Either scenario may lead to the very failure which the system was designed to avoid in the first place.
Therefore, a need remains for improvements to the management of library inventory and door status during a firmware update.